With the tendency of digitizing audio and video information and the development of computer and network technology, digitized audio and video works are distributed to users through networks in the form of data streams (such as, MPEG or MP3 format stream), which have been widely employed. A security problem arises with data streams being transmitted in a network environment.
The protection of a data stream in a network is usually realized by means of encryption. At present, many kinds of encryption approaches for MPEG stream have been proposed, for example, Naive Algorithm, Selective Algorithm, ZigZag-Permutation Algorithm, etc. These algorithms provide a series of encryption approaches, from the simple to the complex, for data streams.
However, in these traditional data stream encryption approaches, a data stream is usually encrypted with a single policy without considering the situation of the receiver, the sender and the channel between them. As a result either the resources are wasted or the quality of information reproduction is degraded.
First, encryption and decryption operations heavily consume system resources, including processor computation, storage spaces and bandwidths of the sender and the receiver. Therefore, if the strength of encryption and decryption can not be adjusted at proper time to accommodate to the consumption of the system resources, neither the data stream can get best protection when the resources are not fully utilized, nor the data stream can be encrypted and decrypted in real-time and the reproduction quality is degraded when the resources are over-utilized.
Furthermore, the network environment may vary with time, leading to frequent changes of channel quality. For example, Bit Error Rate (BER), Packet Loss Rate (PLR), time delay, etc. of a channel may vary greatly, especially in the environments of wireless communication or wide area network like the Internet. Thus, if the same encryption policy is adopted for the whole volume of a data stream, the quality of reproduction may be degraded because the receiver cannot receive enough data for decrypting in time.